'''
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with self work for additional information
 * regarding copyright ownership.  The ASF licenses self file
 * to you under the Apache License, Version 2.0 (the
 * "License") you may not use self file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
'''


#import org.apache.jena.graph.*;
#import org.apache.jena.rdf.model.*;
#import org.apache.jena.util.iterator.*;

'''
 * A ModelMakerImpl implements a ModelMaker over a GraphMaker.
'''
# ModelMaker
class ModelMakerImpl():
    pass
    # protected GraphMaker maker
    # protected Model description
    #
    # # param GraphMaker maker
    # def __init__(self, maker):
    #     self.maker = maker
    #
    #
    # # @Override
    # # param
    # # result GraphMaker
    # def getGraphMaker(self):
    #     return maker
    #
    #
    # # @Override
    # # param
    # # result void
    # def close(self):
    #     maker.close()
    #
    #
    # # param
    # # result Model
    # def openModel(self):
    #     return ModelCom(maker.openGraph())
    #
    #
    # # param Graph g
    # # result Model
    # def makeModel(self, g):
    #     return ModelCom(g)
    #
    #
    # # @Override
    # # param String name
    # # result Model
    # def openModelIfPresent(self, name):
    #     return maker.hasGraphopenModel(name) if (name) else null
    #
    #
    # # @Override
    # # param String name, boolean strict
    # # result Model
    # def openModel(self, name, strict):
    #     return makeModel(maker.openGraph(name, strict))
    #
    #
    # # @Override
    # # param String name
    # # result Model
    # def openModel(self, name):
    #     return openModel(name, False)
    #
    #
    # # @Override
    # # param String name, boolean strict
    # # result Model
    # def createModel(self, name, strict):
    #     return makeModel(maker.createGraph(name, strict))
    #
    #
    # # @Override
    # # param String name
    # # result Model
    # def createModel(self, name):
    #     return createModel(name, False)
    #
    #
    # # param String name
    # # result Model
    # def createModelOver(self, name):
    #     return createModel(name)
    #
    #
    # # @Override
    # # param
    # # result Model
    # def createFreshModel(self):
    #     return makeModel(maker.createGraph())
    #
    #
    # # @Override
    # # param
    # # result Model
    # def createDefaultModel(self):
    #     return makeModel(maker.getGraph())
    #
    #
    # # @Override
    # # param String name
    # # result void
    # def removeModel(self, name):
    #     maker.removeGraph(name)
    #
    #
    # # @Override
    # # param String name
    # # result boolean
    # def hasModel(self, name):
    #     return maker.hasGraph(name)
    #
    #
    # # @Override
    # # param
    # # result ExtendedIterator<String>
    # def listModels(self):
    #     return maker.listGraphs()
    #
    #
    # '''
    #  * ModelGetter implementation component.
    # '''
    # # @Override
    # # param String URL
    # # result Model
    # def getModel(self, URL):
    #     return hasModelopenModel(URL) if (URL) else null
    #
    #
    # # @Override
    # # param String URL, ModelReader loadIfAbsent
    # # result Model
    # def getModel(self, URL, loadIfAbsent):
    #     Model already = getModel(URL)
    #     return loadIfAbsent.readModel(createModel(URL), URL) if already is None else already
    #
    #
